﻿Public Class COperacionesComplejos
    Implements IOperaciones

    Public Function dividir(ByVal numero1 As Object, ByVal numero2 As Object) As Object Implements IOperaciones.dividir
        If (CType(numero2, CComplejo) = CComplejo.DoubleToComplex(0)) Then
            Throw New Exception("Error, no es posible dividir por cero")
        Else
            Return CComplejo.Division(CType(numero1, CComplejo), CType(numero2, CComplejo))
        End If
    End Function

    Public Function multiplicar(ByVal numero1 As Object, ByVal numero2 As Object) As Object Implements IOperaciones.multiplicar
        Return CComplejo.Multiplicacion(CType(numero1, CComplejo), CType(numero2, CComplejo))
    End Function

    Public Function restar(ByVal numero1 As Object, ByVal numero2 As Object) As Object Implements IOperaciones.restar
        Return CComplejo.Resta(CType(numero1, CComplejo), CType(numero2, CComplejo))
    End Function

    Public Function sumar(ByVal numero1 As Object, ByVal numero2 As Object) As Object Implements IOperaciones.sumar
        Return CComplejo.Suma(CType(numero1, CComplejo), CType(numero2, CComplejo))
    End Function
End Class
